In the prior art (e.g. Finkenzeller, Klaus: RFID-Handbuch, Munich, 2002) there are described various contactlessly communicating data carriers, for example chip cards and RFID transponders (radio frequency identification transponders), e.g. according to the standard ISO/IEC 14443. These are so-called proximity coupling chip cards, which are frequently used in the application field of ticketing, that is, as public transport tickets for example. The energy supply to the data carrier is normally effected here by the magnetic alternating field of a reading device. The range of such a data carrier is approx. 7 to 15 cm. The invention is not restricted to transponder chip cards with such short ranges, however, but can also be used in connection with other contactlessly communicating data carriers with other ranges and/or according to other standards. It is fundamentally also possible to use data carriers with their own energy source.
When such a data carrier is brought into the response field of a reading device, thereby commencing its energy supply and putting it in an operational mode, it can receive a search signal emitted cyclically by the reading device and indicate its communication readiness to the reading device by means of a first response signal. As soon as the reading device has received this signal it starts a selection process using a so-called anti-collision method in order to specifically select one data carrier for further communication when a plurality of communication-ready data carriers are located in the response field of the reading device at the same time. However, there are also reading devices that communicate via proprietary, nonstandard communications protocols and do not support any anti-collision methods.
The selection of a data carrier is effected in the case of an anti-collision method on the basis of a unique identification number of the data carrier, for example a UID (unique identifier), a PUPI (pseudo-unique PICC identifier, PICC=proximity ICC, ICC=integrated circuit card) or the like. For data carriers according to ISO/IEC 14443 it further holds that a data carrier selected for communication is addressable during communication via a unique session number (session-ID, CID) allocated dynamically by the reading device. In this state such a data carrier no longer responds to the aforementioned search signals still emitted by the reading device. In this way the reading device can select further data carriers located in the response field via their unique identification numbers and also assign them unique session numbers in turn. According to ISO/IEC 14443, up to 16 data carriers can in this way be selected for communication at the same time and addressed accordingly via 16 different session numbers. A command emitted by the reading device and addressed by means of the session number is then always processed only by the data carrier to which said session number was assigned.
Further, it is known that a plurality of applications can be located on a portable data carrier at the same time and that the corresponding application processes can be executed concurrently when an operating system providing the necessary mechanisms is set up on the data carrier. Concurrent execution of processes means that the latter are executed quasi at the same time by repeatedly toggling between different processes. Toggling between different processes means that said processes are supplied to the processor alternatingly to obtain actual computing time. An application process designates an application that is undergoing execution. In the context of this invention, both an application and the associated application process will hereinafter always be designated as an application.
It is possible to address a plurality of different concurrent applications, for example via their application identifiers AIDs, via different logical channels. Logical channels make it possible to set a plurality of virtual channels in parallel via a single interface by the corresponding communications protocols being so designed that the addressed logical channel is also coded. In this way a plurality of applications on the data carrier can thus be addressed in parallel via the application identifier by specification of the particular channel to be used.
The currently common protocols and the coding of the data to be transferred (APDU, application protocol data unit, a form of data transfer based on a command/response scheme) allow up to four logical channels which are coded by means of two special bits. However, the data carrier's responses generated upon a command received from outside the data carrier no longer contain any information about the logical channel. This has the consequence that external applications desiring to communicate with a plurality of concurrent applications on a data carrier must be synchronized with each other, since an external application cannot decide by the response of an application of the data carrier whether it is the response expected by it or is intended for another external application.
The management of logical channels is very elaborate for an operating system of the data carrier and requires a great amount of memory, all the more so if communication has to take place under secure conditions, i.e. the data belonging to an application are transferred in encrypted form and are protected in general against spying by other applications.
Problems also occur in cases where a plurality of possibly proprietary applications that were hitherto each stored as the only application on a separate data carrier are now to be integrated on a common data carrier configured as a multiapplication data carrier. In addition to the above-described difficulties in parallel communication, collisions can take place in the data structures, because the different applications have for example hitherto identified different contents on different data carriers by identical file identifiers FIDs that now identify only one file on the common data carrier. It also happens that applications from different data carriers are to be integrated that are subject to different restrictions in the communications parameters, such as the block length of transferable blocks.